# language: en&es

Feature: Registrar una reunión en el módulo de seguimiento y compromisos
  In order to register a meeting in the monitoring & commitments module
  As a master student
  I want to organize my schedule with meetings for thesis

  Scenario Outline: Registrar correctamente una reunion
    Given estoy en la pagina de registro de reuniones
    When el nombre de la reunion es <nombreReunion>
    And el dia de la reunion es <dia>
    And el mes de la reunion es <mes>
    And el anio de la reunion es <anio>
    And los minutos de duracion de la reunion son <minutos>
    And la descripcion de la reunion es <descripcion>
    And presiono el boton <button>
    Then debe verse la pantalla con lo siguiente <resultado>
    And la base de datos debe contener la reunion <nombreReunion>

  Examples:
    |   nombreReunion   | dia |     mes         |  anio    |   minutos     |      descripcion        |      button      |   resultado   |
    |   "Reunion 1"     | 15  | "Febrero"       |  2018    |      40       | "Reunion Introductoria" | "Crear reunion"  |   "Registrar" |
    |   "Reunion 2"     | 29  | "Septiembre"    |  2013    |      40       | "Reunion Introductoria" | "Crear reunion"  |   "Registrar" |

  Scenario Outline: Evitar que una reunion se cree con fechas del pasado
    Given estoy en la pagina de registro de reuniones
    When el nombre de la reunion es <nombreReunion>
    And el dia de la reunion es <dia>
    And el mes de la reunion es <mes>
    And el anio de la reunion es <anio>
    And los minutos de duracion de la reunion son <minutos>
    And la descripcion de la reunion es <descripcion>
    And presiono el boton <button>
    Then debe verse la pantalla con lo siguiente <resultado>
    And la base de datos no debe contener la reunion <nombreReunion>

  Examples:
    |   nombreReunion   | dia |     mes         |  anio    |   minutos     |      descripcion       |      button      |   resultado   |
    |   "Reunion 1"     | 15  | "Febrero"       |  2013    |      40       | "Reunion Pasada"       | "Crear reunion"  |   ""          |

   Scenario Outline: Evitar que los tiempos de la reunion sean negativos o cero
    Given estoy en la pagina de registro de reuniones
    When el nombre de la reunion es <nombreReunion>
    And el dia de la reunion es <dia>
    And el mes de la reunion es <mes>
    And el anio de la reunion es <anio>
    And los minutos de duracion de la reunion son <minutos>
    And la descripcion de la reunion es <descripcion>
    And presiono el boton <button>
    Then debe verse la pantalla con lo siguiente <resultado>
    And la base de datos no debe contener la reunion <nombreReunion>

  Examples:
    |   nombreReunion   | dia |     mes         |  anio    |   minutos     |      descripcion       |      button      |   resultado   |
    |   "Reunion 1"     | 15  | "Febrero"       |  2018    |      -40      | "Reunion Invalida"     | "Crear reunion"  |   ""          |
    |   "Reunion 2"     | 29  | "Septiembre"    |  2013    |      0        | "Reunion Invalida"     | "Crear reunion"  |   ""          |

   Scenario Outline: Evitar que se creen dos reuniones con la misma fecha
    Given ya hay una reunion en la base de datos con fecha <dia> <anio>
    And estoy en la pagina de registro de reuniones
    When el nombre de la reunion es <nombreReunion>
    And el dia de la reunion es <dia>
    And el mes de la reunion es <mes>
    And el anio de la reunion es <anio>
    And los minutos de duracion de la reunion son <minutos>
    And la descripcion de la reunion es <descripcion>
    And presiono el boton <button>
    Then debe verse la pantalla con lo siguiente <resultado>
    And la base de datos no debe contener la reunion <nombreReunion>

  Examples:
    |   nombreReunion   | dia |     mes         |  anio    |   minutos     |      descripcion       |      button      |   resultado   |
    |   "Reunion 1"     | 15  | "Febrero"       |  2018    |      40       | "Reunion Invalida"     | "Crear reunion"  |   ""          |

   Scenario Outline: Evitar que se creen reuniones con nombre="", duracion="" ni duracion=String
    Given ya hay una reunion en la base de datos con fecha <dia> <anio>
    And estoy en la pagina de registro de reuniones
    When el nombre de la reunion es <nombreReunion>
    And el dia de la reunion es <dia>
    And el mes de la reunion es <mes>
    And el anio de la reunion es <anio>
    And los minutos de duracion de la reunion son <minutos>
    And la descripcion de la reunion es <descripcion>
    And presiono el boton <button>
    Then debe verse la pantalla con lo siguiente <resultado>
    And la base de datos no debe contener la reunion <nombreReunion>

  Examples:
    |   nombreReunion   | dia |     mes         |  anio    |   minutos     |      descripcion       |      button      |   resultado   |
    |   ""              | 15  | "Febrero"       |  2018    |      40       | "Reunion Invalida"     | "Crear reunion"  |   ""          |
    |   "Reunion1"      | 15  | "Febrero"       |  2018    |      ""       | "Reunion Invalida"     | "Crear reunion"  |   ""          |
    |   "Reunion1"      | 15  | "Febrero"       |  2018    |   "eee"       | "Reunion Invalida"     | "Crear reunion"  |   ""          |